package com.jt.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.jt.pojo.User;
import org.apache.ibatis.annotations.*;

import java.util.List;

//继承时,必须添加泛型 该泛型必须与表关联
//MP提供了强大的单标CRUD操作 多表操作自己写
public interface UserMapper extends BaseMapper<User> {
    String login(User user);

    User findUserByUP(User user);

    @Select("select count(1) from user")
    long findTotal();


    //只支持单值传参 封装为map集合
    List<User> findUserList(@Param("start") int start,
                            @Param("size") int size,
                            @Param("query") String query);


    @Update("update user set status = #{status} ,updated = #{updated} where id = #{id}")
    void updateStatus(User user);

    @Insert("insert into user(username,password,phone,email,status,created,updated) values(#{username},#{password},#{phone},#{email},#{status},#{created},#{updated})")
    void addUser(User user);

    @Delete("delete from user where id = #{id}")
    void deleteById(Integer id);

    @Select("select * from user where id =#{id}")
    User findUserById(Integer id);

    @Update("update user set phone = #{phone} , email = #{email} , updated = #{updated} where id = #{id}")
    void updateUser(User user);
}
